<!DOCTYPE html>
<title>Verify that moving a video element to a new document, still loads it normally</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<video></video>
<iframe></iframe>
<script>
    async_test(function(t) {
        var video = document.querySelector('video');
        video.src = "content/test.ogv";
        video.onloadeddata = this.step_func(function() {
            video.onloadeddata = null;
            assert_true(video.networkState == video.NETWORK_IDLE || video.networkState == video.NETWORK_LOADING);
            assert_greater_than(video.readyState, video.HAVE_METADATA);
            // Move the video element to iframe document from
            // main document and verify that it loads properly
            document.querySelector('iframe').contentDocument.body.appendChild(video);
            assert_equals(video.networkState, video.NETWORK_NO_SOURCE);
            assert_equals(video.readyState, video.HAVE_NOTHING);
            var actual_events = [];
            var expected_events = ['emptied', 'loadstart', 'loadeddata'];
            expected_events.forEach(function(type) {
                video.addEventListener(type, t.step_func(function() {
                    actual_events.push(type);
                    if (type == 'loadeddata') {
                        assert_array_equals(actual_events, expected_events);
                        t.done();
                    }
                }));
            });
        });
    });
</script>
